专利摘要:
一種記憶體儲存系統,其包括多個快閃記憶體儲存裝置、傳輸介面與中控裝置,其中中控裝置具有快速緩衝儲存區並且經由傳輸介面耦接至快閃記憶體儲存裝置。中控裝置用以維護區塊映射表以記錄邏輯區塊與快閃記憶體儲存裝置的物理區塊之間的映射關係並且將區塊映射表暫存在快速緩衝儲存區中。此外,中控裝置更使用多個溝通指令來存取此些快閃記憶體儲存裝置的物理區塊,其中此些溝通指令是透過傳輸介面而傳送給快閃記憶體儲存裝置中的控制器,並且此控制器會根據溝通指令來存取物理區塊。基此,本系統可以有效率的管理多個快閃記憶體儲存裝置。
公开号:TW201324154A
申请号:TW100145310
申请日:2011-12-08
公开日:2013-06-16
发明作者:Tzi-Cker Chiueh;Ting-Fang Chien;Shih-Chiang Tsao;Chien-Yung Lee
申请人:Ind Tech Res Inst;
IPC主号:G06F12-00
专利说明:
記憶體儲存系統及其中控裝置、管理方法與斷電復原方法
本揭露是有關於一種記憶體儲存系統及其中控裝置、管理方法與斷電復原方法。
快閃記憶體(flash memory)是一種非揮發(non-volatile)的儲存裝置。儲存在快閃記憶體的資料不會因斷電而消失,且快閃記憶體可提供高速的讀取效能。具體來說,快閃記憶體的存取速度雖不及動態隨機存取記憶體(dynamic random-access memory,DRAM),但其具有噪音小、體積小以及快速存取等特性。因此,在電子通訊產品中,快閃記憶體已被廣泛的應用在相機、手機、隨身碟與筆記型電腦等商品上。
快閃記憶體具有獨特的存取特性。例如,在快閃記憶體的同一物理位址不能直接地重複寫入,而必須先做抹除(erase)才能重寫。此外,快閃記憶體具有多個物理區塊(block)且每個物理區塊具有多個物理頁面,其中最小抹除單位為一個物理區塊(亦稱為刪除元(erase unit,EU)並且最小寫入單位為一個頁(page)。每一個物理頁面會包括資料區(data area)以及備用區(spare area),其中資料區用以儲存一般資料並且備用區用以儲存對應此一般資料的系統資料(metadata)。此系統資料,例如,包括一般資料所屬之邏輯位址、對應一般資料的錯誤校正碼等。再者,每個物理區塊有抹除次數的上限,例如,1萬至10萬次,其中當物理區塊的抹除次數達到上限時,此物理區塊可能會損壞而無法再被寫入資料。另外,每個區塊在寫入時,必須依照物理頁面的順序寫入。
由於快閃記憶體具有上述存取限制,因此,一般來說,在快閃記憶體儲存系統中會配置一快閃轉換層(flash translation layer,FTL),以進行邏輯位置與實體位置之間的轉換管理。並且,藉由維護一個區塊映射表(block map table),來儲存邏輯位址與實體位址的映射關係。
基於上述,在大型伺服器中,若使用快閃記憶體當作儲存單元,勢必會面臨許多問題。例如,由於必須同時管理多個快閃記憶體儲存裝置,因此,邏輯位址與實體位址的轉換管理會更為複雜。再者,由於快閃記憶體系統運作期間,區塊映射表必須暫存在揮發性記憶體中以利更新。因此,若發生不正常關機,則此區塊映射表將會遺失。儘管於重新開機時掃描所有快閃記憶體儲存裝置的所有物理區塊的物理頁面的備用區能夠重建出區塊映射表,但此方法是非常的耗時。基此,如何有效管理配置有多個快閃記憶體儲存裝置的大型記憶體儲存系統以及處理此大型記憶體儲存系統之不正常關機的回復,為此領域技術人員所需解決的問題。
本揭露提出一種記憶體儲存系統及其管理方法、斷電復原方法與中控裝置,其能夠有效的管理多個快閃記憶體儲存裝置。
此外,本揭露提出一種記憶體儲存系統及其管理方法、斷電復原方法與中控裝置,其能夠處理不正常關機的復原。
本揭露提出一種記憶體儲存系統,包括多個快閃記憶體儲存裝置,其中每個快閃記憶體儲存裝置具有控制器與快閃記憶體模組,每個快閃記憶體模組具有多個物理區塊,每個物理區塊具有多個物理頁面並且每個物理頁面具有資料區與備用區。本記憶體儲存系統更包括多個傳輸介面。本記憶體儲存系統更包括中控裝置,具有快速緩衝儲存區並且經由上述傳輸介面分別地耦接至快閃記憶體儲存裝置。中控裝置用以維護區塊映射表(block map table,BMT),並且透過傳輸介面傳送多個溝通指令給此些快閃記憶體儲存裝置控制器來存取此些快閃記憶體儲存裝置的物理區塊。
另一方面來說,本揭露提出一種管理方法,用於具有多個快閃記憶體儲存裝置的記憶體儲存系統,其中每個快閃記憶體儲存裝置具有控制器與快閃記憶體模組。每個快閃記憶體模組具有多個物理區塊,每個物理區塊具有多個物理頁面並且每個物理頁面具有資料區與備用區,管理方法包括以下步驟。維護一區塊映射表(block map table,BMT),其中區塊映射表記錄多個邏輯區塊與物理區塊之間的映射關係,並且區塊映射表暫存在快速緩衝儲存區中。依據區塊映射表使用多個溝通指令來存取快閃記憶體儲存裝置的物理區塊,其中溝通指令是透過多個傳輸介面傳送給控制器且控制器會根據溝通指令來存取物理區塊。
以另外一個角度來說,本揭露提出一種斷電復原方法,用於快閃記憶體儲存裝置模組,其中快閃記憶體模組具有多個物理區塊,每一物理區塊具有多個物理頁面並且每一物理頁面具有資料區與備用區,此斷電復原方法包括以下步驟。從物理區塊中讀取總管映圖(super map)。依據所讀取的總管映圖讀取專用映圖(dedicated map)。依據專用映圖將儲存在物理區塊中的區塊映射表(block map table,BMT)載入至快取緩衝儲存區。判斷是否發生不正常關機。當發生不正常關機時,依據所讀取的專用映圖讀取更新日誌(update log,UL),以更新日誌中的垃圾蒐集標籤將更新日誌的多個標籤依序地區分為多個更新區段,以逆向方式從更新日誌中讀取每一更新區段的標籤並且根據所讀取的標籤來更新暫存在快取緩衝儲存區的區塊映射表。其中區塊映射表記錄多個邏輯區塊與物理區塊之間的映射關係。
以另一個角度來說,本揭露提出一種中控裝置,用於管理至少一快閃記憶體模組的多個物理區塊,每一物理區塊具有多個物理頁面並且每一物理頁面具有資料區與備用區,此裝置包括以下單元。此裝置包括中央處理器。此裝置還包括快速緩衝儲存區,耦接至中央處理器。此裝置還包括資料處理單元,耦接至中央處理器,用以存取物理區塊。此裝置更包括映射表維護單元,耦接至中央處理器。當重新開機時,映射表維護單元會從物理區塊中讀取總管映圖(super map),依據所讀取的總管映圖讀取專用映圖(dedicated map),依據專用映圖將儲存在物理區塊中的一區塊映射表(block map table,BMT)載入至快取緩衝儲存區並且判斷是否發生不正常關機。其中當發生不正常關機時,映射表維護單元會依據所讀取的專用映圖讀取更新日誌(update log,UL),以更新日誌中的垃圾蒐集標籤將更新日誌的多個標籤依序地區分為多個更新區段,以逆向方式從更新日誌中讀取每一更新區段的標籤並且根據所讀取的標籤來更新暫存在快取緩衝儲存區的區塊映射表。其中區塊映射表記錄多個邏輯區塊與物理區塊之間的映射關係。
基於上述,本揭露範例實施例之記憶體儲存系統、中控裝置與管理方法能夠透過多個溝通指令與使用批次循環的寫入方式,有效地提升控制快閃記憶體儲存裝置的效率。此外,本揭露範例實施例之記憶體儲存系統、中控裝置與管理方法能夠透過以遞層方式設計的總管映圖、專用映圖、區塊映射表、更新日誌來有效地管理邏輯位址與物理位址的映射。再者,本揭露範例實施例之記憶體儲存系統、中控裝置與斷電復原方法藉由記錄在更新日誌中的資訊能夠快速地復原因斷電而遺失的區塊映射表。
為讓本揭露之上述特徵和優點能更明顯易懂,下文特舉範例實施例,並配合所附圖式作詳細說明如下。
圖1是根據本範例實施例繪示之記憶體儲存系統的方塊圖。
請參照圖1,記憶體儲存系統100包括中控裝置120、多個傳輸介面(即,第一傳輸介面140a、第二傳輸介面140b與第三傳輸介面140c)以及多個快閃記憶體儲存裝置(即,第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c)。
中控裝置120經由第一傳輸介面140a、第二傳輸介面140b與第三傳輸介面140c分別地耦接第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c,並且用以控制與管理第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c。在本範例實施例中,中控裝置120為一個人電腦。但必須瞭解的是,中控裝置120亦可為伺服器、音訊播放器或視訊播放器或其他電子裝置,本揭露不應受上述舉例所限制。
中控裝置120包括中央處理器122、映射表維護單元124、資料處理單元126以及快速緩衝儲存區128。
中央處理器122用以控制中控裝置120的整體運作。
映射表維護單元124與資料處理單元126是耦接至中央處理器122用以管理第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c。映射表維護單元124與資料處理單元126的運作將於以下配合圖示做詳細的說明。
快速緩衝儲存區128用以暫存資料。例如,快速緩衝儲存區128為動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)。然而,本揭露不限於此,在另一範例實施例中,快速緩衝儲存區128亦可為靜態隨機存取記憶體(Static Random Access Memory,SRAM)。
在本範例實施例中,第一傳輸介面140a、第二傳輸介面140b與第三傳輸介面140c為相容於序列進階附件(Serial Advanced Technology Attachment,SATA)標準。然而,在另一範例實施例中,第一傳輸介面140a、第二傳輸介面140b與第三傳輸介面140c亦可以是符合電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE) 1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準、通用序列匯流排(Universal Serial Bus,USB)標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他標準的傳輸介面。
第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c為固態硬碟(Solid State Drive,SSD),但必須瞭解的是,本揭露不限於此。
第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c分別地具有控制器(即,控制器162a~162c)與快閃記憶體模組(快閃記憶體模組164a~164c)。
控制器162a~162c用以根據來自於中控裝置120的指令來於快閃記憶體模組164a~164c中存取資料。
快閃記憶體模組164a~164c分別地耦接至控制器162a~162c並且具有多個物理區塊。具體來說,快閃記憶體模組164a具有物理區塊210(1)~210(N);快閃記憶體模組164b具有物理區塊210(N+1)~210(2N)並且快閃記憶體模組164c具有物理區塊210(2N+1)~210(3N)。
圖2是根據本揭露範例實施例繪示的物理區塊的示意圖。由於每個物理區塊的結構為類似,在此以物理區塊210(1)為例進行說明。
請參照圖2,物理區塊210(1)包括依序排列的第0物理頁面~第K物理頁面(即,物理頁面212(0)~212(K))。
屬於同一個物理區塊之物理頁面可被獨立地寫入且但必須被同時地抹除。例如,每一物理區塊是由128個物理頁面所組成,而每一物理頁面的容量為4千位元組(Kilobyte,K)。然而,必須瞭解的是,本揭露不限於此,每一物理區塊亦可由64個實體頁面、256個實體頁面或其他任意個實體頁面所組成,並且每一物理頁面的容量亦可為2K、8K或其他大小。
更詳細來說,物理區塊為抹除之最小單位。亦即,每一物理區塊含有最小數目之一併被抹除之記憶胞。物理頁面為程式化的最小單元。即,物理頁面為寫入資料的最小單元。每一實體頁面通常包括資料區(例如,資料區214(0)~214(K))與備用區(例如,備用區216(0)~216(K))。每一物理頁面的資料區用以儲存一般資料,而每一物理頁面的備用區用以儲存對應的系統資料(metadata)。例如,當物理頁面212(0)的資料區214(0)儲存屬於某個邏輯區塊的資料時,物理頁面212(0)的備用區216(0)會儲存此邏輯區塊的位址、對應此資料的錯誤檢查與校正碼。在此,將儲存於備用區的資料統稱為系統資料。
值得一提的是,由於在記憶體儲存系統100中,物理區塊是以輪替方式來儲存資料,因此,中控裝置120會配置多個邏輯位址(例如,邏輯區塊)以提拱給作業系統與應用程式來存取。特別是,在本範例實施例中,中控裝置120是使用多個溝通指令來以集中方式管理與控制第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c。以下將配合圖示,詳細描述藉由使用多個溝通指令以集中方式來管理與控制第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c的機制。
圖3是根據本揭露範例實施例繪示的管理方法流程圖。
請參照圖3,在步驟S301中,中控裝置120會維護一個區塊映射表(block map table,BMT),並將此區塊映射表暫存在快速緩衝儲存區128中。
具體來說,在步驟S301中,中控裝置120的映射表維護單元124會維護區塊映射表(block map table,BMT),來記錄第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c的物理區塊與邏輯區塊的映射關係。也就是說,在本範例實施例中,用於記錄所有邏輯區塊與所有快閃記憶體儲存裝置的物理區塊之間的映射關係的區塊映射表是集中地由中控裝置120來維護與管理。
圖4是根據本揭露範例實施例繪示的區塊映射表的範例示意圖。
請參照圖4,區塊映射表400具有邏輯區塊位址欄位402與物理區塊位址欄位404。
邏輯區塊位址欄位402是記錄在記憶體儲存系統100中所配置的所有邏輯區塊的位址。例如,在本範例實施例中,邏輯區塊410(1)~410(H)會被配置以供作業系統或應用程式存取資料。
物理區塊位址欄位404是記錄每個邏輯區塊目前所映射的物理區塊。具體來說,物理區塊210(1)~210(3N)會輪替地被用來寫入屬於邏輯區塊410(1)~410(H)的資料。當一個物理區塊被用來寫入屬於一個邏輯區塊的資料時,中控裝置120的映射表維護單元124會將此物理區塊的位址記錄在對應此邏輯區塊的物理區塊位址欄位中,由此,中控裝置120的資料處理單元126就可根據區塊映射表400來存取屬於此邏輯區塊的資料。例如,當邏輯區塊410(1)目前映射至物理區塊210(1)且中控裝置120要存取邏輯區塊410(1)中的資料時,資料處理單元126會根據區塊映射表400中識別邏輯區塊410(1)所映射的物理區塊210(1)並且下達指令至第一快閃記憶體儲存裝置160a來從物理區塊210(1)中存取資料。也就是說,由於邏輯區塊與物理區塊的映射關係會不斷地變動,因此,在本範例實施例中,映射表維護單元124用以維護區塊映射表400,以確保上述映射關係隨著記憶體儲存系統100的運作而保持正確。
請再參照圖3,在步驟S303中,中控裝置120會依據區塊映射表,使用溝通指令來於快閃記憶體儲存裝置(即,第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c)的物理區塊中存取資料。
具體來說,當欲存取資料時,中控裝置120的資料處理單元126會依據映射表維護單元124所維護的區塊映射表對第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c下達溝通指令,其中此些溝通指令會透過第一傳輸介面140a、第二傳輸介面140b與第三傳輸介面140c傳送給第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c的控制器並且第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c的控制器會根據此些溝通指令存取對應的物理區塊。也就是說,第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c的控制器能夠識別此些溝通指令並且根據溝通指令來將資料寫入至物理區塊或從物理區塊中讀取資料。
值得一提的是,除了一般資料傳輸介面所支援的寫入指令與讀取指令之外,在記憶體儲存系統100中還設計有其他特殊的溝通指令,例如,抹除指令、有效頁複製指令、壞區塊詢問指令以及備用區寫入指令。透過使用此些溝通指令,使得中控裝置120可以更有效地管理第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c。以下將分別地詳細說明此些特殊的溝通指令。
在本範例實施例中,上述抹除指令是用以指示快閃記憶體儲存裝置的控制器對物理區塊執行抹除運作。此抹除指令具有抹除起始位址欄位與抹除個數欄位,其中抹除起始欄位中記錄欲抹除之物理區塊的起始實體位址(physical address),而抹除個數欄位中則記錄需抹除的物理區塊的個數。當接收到抹除指令時,快閃記憶體儲存裝置的控制器會則根據抹除指令中這些欄位的資料,抹除至少一物理區塊。
舉例來說,當資料處理單元126將物理區塊210(1)的實體位置記錄在一個抹除指令的抹除起始位置欄位中,在此抹除指令的抹除個數欄位中填入2,並且將此抹除指令透過傳輸介面140a傳輸給第一快閃記憶體儲存裝置160a中的控制器162a時,控制器162a會根據上述抹除指令將物理區塊210(1)與物理區塊210(2)中的資料抹除。換句話說,中控裝置120的資料處理單元126可藉由對快閃記憶體儲存裝置的控制器下達抹除指令而抹除一或多個物理區塊。
在本範例時實施例中,上述有效頁複製指令是用以在物理區塊之間搬移資料。有效頁複製指令具有來源位址欄位、目標位址欄位、長度欄位與位圖欄位(bitmap),其中來源位置欄位記錄欲搬移資料的來源實體位址,目標位置欄位記錄欲寫入資料的目標實體位址,長度欄位記錄以頁面為單位記錄欲搬移資料的長度,而位圖欄位記錄欲搬移之頁面的指標。例如,位圖欄位記錄多個位元(bit),每個位元是對應於一個物理頁面並指示此物理頁面是否需要被複製,其中位元值為”1”時表示此物理頁面需要複製。
舉例來說,假設中控裝置120的資料處理單元126對第一快閃記憶體儲存裝置160a下達有效頁複製指令,其中在此有效頁複製指令中來源位置欄位記錄了物理區塊210(1)的第0個物理頁面的位址,目標位置欄位記錄了物理區塊210(2)的第0個物理頁面的位址,長度欄位記錄了4且位圖欄位記錄了”1001”。當第一快閃記憶體儲存裝置160a接收到此有效頁複製指令時,控制器162a會從物理區塊210(1)的第0個物理頁面開始將4個物理頁面中的第0個物理頁面與第3個物理頁面中的資料複製到物理區塊210(2)的第0個物理頁面與第3個物理頁面。也就是說,藉由有效頁複製指令,中央控制裝置120可指示快閃記憶體儲存裝置複製部分的物理頁面的資料。
在本範例時實施例中,上述之壞區塊詢問指令是用以確認物理區塊的狀態。具體來說,當指示寫入物理區塊時,可能會I/O(input/output)錯誤並且此錯誤可能是物理區塊的損壞。此時,中控裝置120可透過壞區塊詢問指令來查詢物理區塊的狀態。
舉例來說,當中控裝置120在對物理區塊210(1)執行寫入運作而發生I/O的錯誤時,資料處理單元126會下達壞區塊詢問指令給第一快閃記憶體儲存裝置160a中的控制器162a。若物理區塊210(1)已損壞時,控制器162a會根據此壞區塊詢問指令,將物理區塊210(1)為壞區塊的資訊傳回給中控裝置120。
在本範例時實施例中,上述備用區寫入指令是用以將一般資料與系統資料一起傳送給快閃記憶體儲存裝置。具體來說,當對快閃記憶體儲存裝置執行寫入運作時,中控裝置120的資料處理單元126會需要將一般資料寫入至物理頁面的資料區並且將對應此一般資料的系統資料寫入至此物理頁面的備用區。藉由備用區寫入指令可同時將一般資料與系統資料傳送給快閃記憶體裝置,而無需分開傳送,由此提升寫入效能。
值得一提的是,在本範例實施例中,中控裝置120是以一批次循環方式將上述溝通指令傳送給第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c。詳細的說,中控裝置120將多個溝通指令分為多個批次,並且每一批次包含多個溝通指令來分別地傳送給第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c。
舉例來說,當有30個溝通指令必須傳送給第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c時,中控裝置120會依照其溝通指令的特性分成3個批次,其中每個批次有10個指令。接著,中控裝置將第1個批次的溝通指令傳送給第一快閃記憶體儲存裝置160a,然後將第2個批次的溝通指令傳送給第二快閃記憶體儲存裝置160b,並且最後將第3個批次的溝通指令傳送給第三快閃記憶體儲存裝置160c。值得注意的是,由於每個批次包含多個指令,因此比起將每個指令分開送,節省了多次傳送的時間。此外,必須瞭解的是,每一批次的溝通指令的數目可以不一樣,且可循環的傳送。舉例來說,在另一範例實施例中,30個溝通指令是可分成分別包含6、5、4、7、5、3個指令的6個批次。接著中控裝置120將前三批次依續傳送給第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c。然後,中控裝置120再將後三個批次依序傳送給第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c。然而,本揭露不應受限於上述批次的個數以及循環的方式。
基於上述,在本範例實施例中記憶體儲存系統100的中控裝置120透過上述溝通指令,來控制快閃記憶體裝置的控制器,使得存取的效能更為提升。
此外,在本範例實施例的區塊管理機制中,物理區塊會根據其存取次數而被動態分群。
圖5是根據本範例實施例所繪示的物理區塊溫度階級的示意圖。
請參照圖5,當一資料首次寫入至一邏輯區塊時,此邏輯區塊映射的物理區塊會被設定為冷602。當同一個邏輯區塊寫入的次數增加時,則此邏輯區塊映射的物理區塊會被轉換為暖604。由於大部份程式皆有區域參照(locality of reference)的特性,也就是說在一段時間內,程式很有可能存取同一個邏輯區塊。因此將物理區塊從冷602轉換為暖604表示映射此物理區塊的邏輯區塊曾被寫入多次,也代表很有可能將要被寫入。當映射此物理區塊的邏輯區塊被寫入的次數持續增加時,此物理區塊會轉換為熱606,表示此物理區塊映射的邏輯區塊正非常頻繁的被寫入。另一方面,當此物理區塊被執行一垃圾蒐集(Garbage Collection,GC)時,則此物理區塊會被降低一個溫度階級(如從熱降至暖)。垃圾蒐集的運作為此領域技術人員所熟知的技術,在此不詳描述。
除了使用多個溝通指令以以集中方式管理與控制第一快閃記憶體儲存裝置160a、第二快閃記憶體儲存裝置160b與第三快閃記憶體儲存裝置160c以及將物理區塊根據其所映射之邏輯位址的存取次數而動態分群之外,為了能夠更有效率地記錄物理區塊的使用與資料狀態,在本發明範例實施例中,中控裝置120更使用遞層式記錄機制來記錄物理區塊的使用狀態。以下將配合圖示詳細說明此遞層式記錄機制。
如上所述,區塊映射表記錄邏輯區塊與物理區塊的映射關係並且在記憶體儲存系統100運作時,區塊映射表會暫存在快速緩衝儲存區128中,以利更新。特別是,當記憶體儲存系統100關機時,中控裝置120會將區塊映射表儲存至快閃記憶體儲存裝置的物理區塊中;並且在記憶體儲存系統100重新開機時,中控裝置120會從物理區塊中將區塊映射表載入至快速緩衝儲存區128中以繼續運作。
圖6是根據本範例實施例繪示之以遞層式記錄機制來記錄物理區塊的使用狀態的示意圖。
請參照圖6,在本範例實施例中,映射表維護單元124會在快閃記憶體儲存裝置的物理區塊中儲存總管映圖、專用映圖、更新日誌以及區塊映射表。
總管映圖是被儲存在在一固定的物理區塊中,例如,物理區塊210(1)。總管映圖記錄有開機標籤以及專用映圖指標。開機標籤記錄記憶體儲存系統100是否有不正常關機的情況。而專用映圖指標則記錄用以儲存專用映圖的物理區塊的位址。另外,總管映圖的備份則儲存在另一固定物理區塊中(例如,物理區塊210(3N)),用以在總管映圖損壞時,可以利用備份來還原總管映圖的內容。值得一提的是,當開機標籤的內容更改,或用以儲存專用映圖的位址更改時,映射表維護單元124會以一個物理頁面為單位在物理區塊210(1)中新增一筆紀錄來記錄新的開機標籤與專用映圖指標。當物理區塊210(1)的儲存空間用完時,則物理區塊210(1)會被執行抹除運作並且繼續被用來記錄新的開機標籤與專用映圖指標。
專用映圖是被儲存在其中一個物理區塊(例如,物理區塊210(30))。專用映圖記錄區塊映射表指標與更新日誌指標。區塊映射表指標是指示用以儲存區塊映射表的物理區塊的位址。更新日誌指標是指示用以儲存更新日誌的物理區塊的位址。當用以儲存區塊映射表的位址改變或用以儲存更新日誌的位址改變時,映射表維護單元124會在物理區塊210(30)中以一個物理頁面為單位新增一筆紀錄來記載新的區塊映射表指標以及更新日誌指標。特別是,當物理區塊210(30)的儲存空間用完時,映射表維護單元124會使用另一個空的物理區塊來記錄新的區塊映射表指標。
區塊映射表是被儲存在多個物理區塊中。區塊映射表的功能已配合圖示描述如上,在此不再重複描述。
更新日誌是被儲存在其中一個物理區塊(例如,物理區塊210(30)),並且記錄關於資料處理單元126所執行之寫入運作、抹除運作與垃圾蒐集運作的相關資訊。
圖7是根據本範例實施例所繪示的更新日誌的示意圖。
請參照圖7,在更新日誌820中映射表維護單元124是以每一個物理頁面為單位記錄一個標籤,此標籤表示資料處理單元126存取物理區塊的運作。映射表維護單元124會在更新日誌820中記錄抹除標籤、寫入標籤與垃圾蒐集標籤。
具體來說,當資料處理單元126對快閃記憶體儲存裝置的某一物理區塊執行寫入的動作時,映射表維護單元124會在更新日誌820中寫入一寫入標籤,其中此寫入標籤記錄此物理區塊的位址以及此物理區塊的溫度階級。
舉例來說,更新日誌820的標籤822b為對應一個物理區塊的寫入標籤,其中此物理區塊的位址為’b5’並且溫度階級為”暖”。因此,標籤822b表示資料處理單元126曾將資料寫入至物理區塊’b5’中,且此物理區塊當時的溫度階級為”暖”。
當資料處理單元126對某一物理區塊執行抹除的動作時,映射表維護單元124會在更新日誌820中寫入一抹除標籤,其中此抹除標籤記錄物理區塊的位址。
舉例來說,更新日誌820的標籤822e為對應一物理區塊的抹除標籤,其中此物理區塊的位址為b8。
當資料處理單元126對物理區塊執行垃圾蒐集的動作時,映射表維護單元124會在更新日誌820中寫入一垃圾蒐集標籤,其中此垃圾蒐集標籤記錄各個溫度階級中的作動物理區塊的位址與其已儲存資料的物理頁面數。在此,所謂作動物理區塊是指同時可被存取並且依據寫入頻率分配至對應溫度階級的物理區塊。
圖8是根據本揭露範例實施例繪示的作動區塊示意圖。
請參照圖8,當欲對儲存在映射物理區塊210(1))的邏輯區塊的第10、20與128個物理頁面上的資料進行更新時,資料處理單元126會將資料寫入至一個空的物理區塊(例如,物理區塊210(N)),並將物理區塊210(1)中第10、20與128個物理頁面標示為無效。在此例子中,物理區塊210(N)被稱為作動物理區塊。
當執行垃圾蒐集時,資料處理單元126會將物理區塊210(1)的第129~K物理頁面中的有效資料複製到作動物理區塊210(N)的第129~K物理頁面,並抹除垃圾物理區塊210(1)。因此,垃圾蒐集標籤紀錄的是在執行垃圾蒐集之前作動物理區塊210(N)已儲存資料的物理頁面的數目。
請再參照圖7,舉例來說,更新日誌820的標籤822i為垃圾蒐集標籤,並且紀錄對應3個作動物理區塊的垃圾蒐集運作。其中一個作動物理區塊的位址為’b8’,其溫度階級是”暖”且其已儲存資料的物理頁面的數目是240;另外一個作動物理區塊的位址是’b7’,其溫度階級是”冷”且其已儲存資料的物理頁面的數目是128;並且另一個作動物理區塊的位址是’b9’,其溫度階級是”熱”且其已儲存資料的物理頁面的數目是540。
特別是,當用以儲存更新日誌820的物理區塊的儲存空間已超過一預設門檻值(例如,一個物理區塊之儲存空間的90%)或者當中控裝置120接收到一關機指令時,映射表維護單元124會將暫存於快速緩衝儲存區128的最新區塊映射表寫入至快閃記憶體儲存裝置的物理區塊中以取代舊的區塊映射表並且選擇另一個空的物理區塊來記錄用記錄在更新日誌820中下一個標籤。
如上所述,當記憶體儲存系統100正常地接收到關機指令時,映射表維護單元124會將最新的區塊映射表回存至快閃記憶體儲存裝置的物理區塊中。然而,在記憶體儲存系統100不正常斷電時,由於最新的區塊映射表尚未寫回快閃記憶體儲存裝置,因此,當記憶體儲存系統100重新開機時,映射表維護單元124所載入的區塊映射表可能不是最新的版本。在本範例實施例中,映射表維護單元124會根據更新日誌820中的資訊,將所載入的區塊映射表復原成最新的區塊映射表。以下將配合圖示詳細描述中根據本範例實施例的斷電復原機制。
圖9是根據本範例實施例所繪示的斷電復原方法的流程圖。
請參照圖9,首先,在步驟S901中,映射表維護單元124從用以儲存總管映圖的物理區塊(例如,物理區塊210(1))讀取總管映圖,並且獲取專用映圖指標與開機標籤。
接著,在步驟S903中,映射表維護單元124根據專用映圖指標,從物理區塊(例如,物理區塊210(30))中讀取專用映圖並且獲取區塊映射表指標與更新日誌指標。
接著,在步驟S905中,映射表維護單元124根據區塊映射指標從物理區塊(例如,物理區塊210(10)、物理區塊210(21)與物理區塊210(40))載入區塊映射表。
在步驟S907中,映射表維護單元124根據開機標籤判斷是否發生不正常關機。倘若未發生不正常關機,則表示所載入的區塊映射表是最新的並且無需更新,因此,圖9的流程會結束。
倘若發生不正常關機時,在步驟S909中,映射表維護單元124會根據更新日誌指標來載入更新日誌。接著,在步驟S911中,映射表維護單元124會以逆向方式讀取更新日誌中的標籤。具體來說,請參考圖7,映射表維護單元124會從更新日誌820的標籤822h開始往標籤822a的方向讀取所記錄的標籤。也就是說,首先被讀取的標籤822h是時間上最近一筆的標籤。
接著,在步驟S913中,映射表維護單元124會根據物理區塊的溫度階級來串接記錄在所讀取之標籤中的物理區塊。具體來說,若讀取的標籤是抹除標籤,則在步驟S913中映射表維護單元124不會進行任何處理。若讀取的標籤是寫入標籤或垃圾蒐集標籤時,則在步驟S913中映射表維護單元124會依據不同的溫度階級串接標籤中所記錄的物理區塊,其中所串接的物理區塊會以垃圾蒐集標籤為分界來分成為多個更新區段。
接著在步驟S915中,映射表維護單元124判斷讀取到的標籤是否為垃圾搜集標籤。若讀取到的標籤不是垃圾搜集標籤時,則步驟S911會被執行。倘若讀取到的標籤是垃圾搜集標籤時,則在步驟S917中,映射表維護單元124會根據更新區段裡的登錄來讀取記錄在對應物理區塊的備用區中的系統資料並且根據所讀取的系統資料更新暫存於快速緩衝儲存區中的區塊映射表。
圖10A與圖10B是根據圖7之更新日誌所繪示之串接物理區塊的示意圖。
請參照圖10A與圖10B,每個更新區段包含有熱串列、暖串列與冷串列。如上所示,更新日誌的寫入標籤與垃圾蒐集標籤是以逆方向被讀取來串接至每個更新區段的熱串列、暖串列與冷串列中。
第一更新區段840包含對應標籤822k到標籤822i之日誌資訊。例如,當讀取到寫入標籤822k時,由於記錄在寫入標籤822k中的物理區塊的溫度階級為”熱”,因此映射表維護單元124會在第一更新區段840的熱串列841中加入登錄(entry)842,其中登錄842中記錄著物理區塊的位址(即,’b5’)及其所有的物理頁面(即,第0~K物理頁面)。
在本範例實施例中,映射表維護單元124根據第一更新區段840中各登錄所記錄之物理區塊的位址,讀取相對應物理區塊中的備用區裡的系統資料,其中此些系統資料記錄著此些物理區塊所映射的邏輯區塊。舉例來說,假設登錄842所記錄的物理區塊的位址’b5’是指物理區塊210(1),並且物理區塊210(1)的物理頁面的備用區裡的系統資料記載著物理區塊210(1)所映射的邏輯區塊的位址。因此,映射表維護單元124在讀取到物理區塊210(1)所映射的邏輯區塊後,便可以更新暫存在快速緩衝儲存區128中之區塊映射表中物理區塊210(1)的映射關係。在本範例實施例中,由於熱串列841是存放對應溫度階級為”熱”的物理區塊(即,常被存取物理區塊)的登錄,因此映射表維護單元124讀取第一更新區段840之登錄的順序是從熱串列841、暖串列843到冷串列845。因此,在第一更新區段840中,映射表維護單元124會依序根據登錄842、登錄844與登錄846來讀取物理區塊之備用區中的系統資料,並將新的映射關係寫入至暫存在快速緩衝儲存區128中之區塊映射表中。
值得注意的是,登錄844記錄的物理頁面數為240~N,這是由於更新區段是以垃圾搜集標籤當作分水嶺。因此,根據垃圾收集標籤822i,對應位址b8的物理區塊的物理頁面數為240,其表示在第一更新區段840的登錄844中只需要處理對應位址’b8’的物理區塊的第240物理頁面240之後的物理頁面,在第240物理頁面之前的物理頁面中的存取是發生在執行垃圾收集(即,垃圾收集標籤822i所記載之垃圾收集運作)之前。同樣的理由,登錄846中的物理頁面數為128~N,這也是根據垃圾收集標籤822i當做分界的結果。而對應位址’b5’的物理區塊並沒有在垃圾蒐集標籤822i中,因此,登錄842紀錄對應位址’b5’的物理區塊的第0~K物理頁面。
類似地,在第二更新區段860中,寫入標籤822h會被加入至熱串列861中成為登錄868;寫入標籤822f會被加入至暖串列863中成為登錄862;寫入標籤822d會被加入至冷串列865中成為登錄866;而寫入標籤822b會被加入至暖串列863成為登錄864。值得注意的是,由於對應位址’b5的物理區塊的第0~K物理頁面在第一更新區段840中已經被讀取過,因此,在第二更新區段860中,登錄864會被映射表維護單元124移除。另一方面,請對照第一更新區段840的登錄846與第二更新區段860的登錄866,由於映射表維護單元124是以垃圾蒐集標籤為界來區分更新區段,因此相對於登錄846,在登錄866中會記錄對應位址’b7’的物理區塊的物理頁面數為0~128。同樣地,請對照第一更新區段840的登錄844與第二更新區段860的登錄862,此兩登錄記錄的是同一個位址’b8’,但第一更新區段840的登錄844已記錄的對應位址’b8’的物理區塊的第240~K物理頁面,因此,映射表維護單元124會在第二更新區段860的登錄862中紀錄對應位址’b8’的物理區塊的第0~240物理頁面。同樣地,在第二更新區段860中,映射表維護單元124會依照熱串列861、暖串列863與冷串列865的順序來讀取登錄862與登錄866,並在暫存於快速緩衝儲存區128中的區塊映射表中依序更新對應位址’b8’與’b7’的物理區塊的映射關係。
在步驟S919中,映射表維護單元124會判斷是否已讀取更新日誌820的所有標籤。若仍有未讀取的標籤時,則步驟S911會被執行。若已讀取更新日誌820的所有標籤時,則圖9的流程會結束。也就是說,映射表維護單元124已根據更新日誌820中的資訊將暫存於在快速緩衝儲存區128中之區塊映射表復原至最新的狀態。
綜上所述,本範例實施例的記憶體儲存系統、中控裝置與管理方法能夠透過多個溝通指令與使用批次循環的寫入方式,有效地提升控制快閃記憶體儲存裝置的效率。此外,本範例實施例之記憶體儲存系統、中控裝置與管理方法能夠透過以遞層方式設計的總管映圖、專用映圖、區塊映射表、更新日誌來有效地管理邏輯位址與物理位址的映射。再者,本範例實施例之記憶體儲存系統、中控裝置與斷電復原方法藉由記錄在更新日誌中的資訊能夠快速地復原因斷電而遺失的區塊映射表。
雖然本揭露已以範例實施例揭露如上,然其並非用以限定本揭露,任何所屬技術領域中具有通常知識者,在不脫離本揭露之精神和範圍內,當可作些許之更動與潤飾,故本揭露之保護範圍當視後附之申請專利範圍所界定者為準。
100...記憶體儲存系統
120...中控裝置
122...中央處理器
124...映射表維護單元
126...資料處理單元
128...快速緩衝儲存區
140a...第一傳輸介面
140b...第二傳輸介面
140c...第三傳輸介面
160a...第一快閃記憶體儲存裝置
162a...第一快閃記憶體儲存裝置的控制器
164a...第一快閃記憶體儲存裝置的快閃記憶體模組
160b...第二快閃記憶體儲存裝置
162b...第二快閃記憶體儲存裝置的控制器
164b...第二快閃記憶體儲存裝置的快閃記憶體模組
160c...第三快閃記憶體儲存裝置
162c...第三快閃記憶體儲存裝置的控制器
164c...第三快閃記憶體儲存裝置的快閃記憶體模組
210(1)~210(3N)...物理區塊
212(0)~212(K)...物理頁面
214(0)~214(K)...資料區
216(0)~216(K)...備用區
S301、S303...管理方法的步驟
410(1)~410(H)...邏輯區塊
602...冷
604...暖
606...熱
820...更新日誌
822a~822k...標籤
840...第一更新區段
841、861...熱串列
843、863...暖串列
845、865...冷串列
842、844、846、862、864、866、868...登錄
860...第二更新區段
S901、S903、S905、S907、S909、S911、S913、S915、S917、S919...斷電復原方法的步驟
圖1是根據本範例實施例繪示之記憶體儲存系統的方塊圖。
圖2是根據本揭露範例實施例繪示的物理區塊的示意圖。由於每個物理區塊的結構為類似,在此以物理區塊210(0)為例進行說明。
圖3是根據本揭露範例實施例繪示的管理方法流程圖。
圖4是根據本揭露範例實施例繪示的區塊映射表的範例示意圖。
圖5是根據本範例實施例所繪示的物理區塊溫度階級的示意圖。
圖6是根據本範例實施例繪示之以遞層式記錄機制來記錄物理區塊的使用狀態的示意圖。
圖7是根據本範例實施例所繪示的更新日誌的示意圖。
圖8是根據本揭露範例實施例繪示的作動區塊示意圖。
圖9是根據本範例實施例所繪示的斷電復原方法的流程圖。
圖10A與圖10B是根據圖7之更新日誌所繪示之串接物理區塊的示意圖。
100...記憶體儲存系統
120...中控裝置
122...中央處理器
124...映射表維護單元
126...資料處理單元
128...快速緩衝儲存區
140a...第一傳輸介面
140b...第二傳輸介面
140c...第三傳輸介面
160a...第一快閃記憶體儲存裝置
162a...第一快閃記憶體儲存裝置的控制器
164a...第一快閃記憶體儲存裝置的快閃記憶體模組
160b...第二快閃記憶體儲存裝置
162b...第二快閃記憶體儲存裝置的控制器
164b...第二快閃記憶體儲存裝置的快閃記憶體模組
160c...第三快閃記憶體儲存裝置
162c...第三快閃記憶體儲存裝置的控制器
164c...第三快閃記憶體儲存裝置的快閃記憶體模組
权利要求:
Claims (46)
[1] 一種記憶體儲存系統,包括:多個快閃記憶體儲存裝置,其中每一該些快閃記憶體儲存裝置具有一控制器與一快閃記憶體模組,每一該些快閃記憶體模組具有多個物理區塊,每一該些物理區塊具有多個物理頁面並且每一該些物理頁面具有一資料區與一備用區;多個傳輸介面;以及一中控裝置,具有一快速緩衝儲存區並且經由該些傳輸介面分別地耦接至該些快閃記憶體儲存裝置,其中該中控裝置用以維護一區塊映射表(block map table,BMT),並且透過該些傳輸介面傳送多個溝通指令給該些控制器來存取該些快閃記憶體儲存裝置的該些物理區塊。
[2] 如申請專利範圍第1項所述之記憶體儲存系統,其中該區塊映射表記錄多個邏輯區塊與該些物理區塊之間的一映射關係,並且該區塊映射表暫存在該快速緩衝儲存區,其中該中控裝置依據該區塊映射表使用該些溝通指令來存取該些快閃記憶體儲存裝置的該些物理區塊,且該些控制器會根據該些溝通指令來存取該些物理區塊。
[3] 如申請專利範圍第1項所述之記憶體儲存系統,其中該中控裝置還包括:一中央處理器;一映射表維護單元,耦接至該中央處理器,用以建立與更新該區塊映射表;以及一資料處理單元,耦接至該中央處理器,用以使用該些溝通指令存取該些物理區塊。
[4] 如申請專利範圍第1項所述之記憶體儲存系統,其中該中控裝置透過該些傳輸介面以一批次循環方式傳送該些溝通指令給該些快閃記憶體儲存裝置的該些控制器。
[5] 如申請專利範圍第1項所述之記憶體儲存系統,其中該些溝通指令包括一抹除指令,且該抹除指令具有一抹除起始位址欄位與一抹除個數欄位,其中該中控裝置透過該些傳輸介面之中的一第一傳輸介面傳送該抹除指令給該些快閃記憶體儲存裝置之中的一第一快閃記憶體儲存裝置,其中該第一快閃記憶體儲存裝置的該控制器根據該抹除指令抹除儲存在該第一快閃記憶體儲存裝置的該些物理區塊之中的至少一個物理區塊中的資料。
[6] 如申請專利範圍第1項所述之記憶體儲存系統,其中該些溝通指令包括一有效頁複製指令,且該有效頁複製指令具有一來源位址欄位、一目標位址欄位、一長度欄位與一位圖欄位(bitmap),其中該中控裝置透過該些傳輸介面之中的一第一傳輸介面傳送該有效頁複製指令給該些快閃記憶體儲存裝置之中的一第一快閃記憶體儲存裝置,其中該第一快閃記憶體儲存裝置的該控制器根據該有效頁複製指令從該第一快閃記憶體儲存裝置的該些物理區塊之中的其中一個物理區塊複製資料至該第一快閃記憶體儲存裝置的該些物理區塊之中的另一個物理區塊。
[7] 如申請專利範圍第1項所述之記憶體儲存系統,其中該些溝通指令包括一壞區塊詢問指令,其中該中控裝置透過該些傳輸介面之中的一第一傳輸介面傳送該壞區塊詢問指令給該些快閃記憶體儲存裝置之中的一第一快閃記憶體儲存裝置,其中該第一快閃記憶體儲存裝置的該控制器根據該壞區塊詢問指令將關於該第一快閃記憶體儲存裝置的該些物理區塊之中的一壞物理區塊的資訊傳送給該中控裝置。
[8] 如申請專利範圍第1項所述之記憶體儲存系統,其中該些溝通指令包括一備用區寫入指令,其中該中控裝置透過該些傳輸介面之中的一第一傳輸介面傳送該備用區寫入指令給該些快閃記憶體儲存裝置之中的一第一快閃記憶體儲存裝置,以寫入一寫入資料與關於該寫入資料的一系統資料(metadata)至該第一快閃記憶體儲存裝置的該些物理區塊的該些物理頁面之中的一第一物理頁面,其中該第一快閃記憶體儲存裝置的該控制器根據該備用區寫入指令將該寫入資料寫入至該第一物理頁面的該資料區且將該系統資料寫入至該第一物理頁面的該備用區。
[9] 如申請專利範圍第1項所述之記憶體儲存系統,其中該中控裝置使用該些快閃記憶體儲存裝置的該些物理區塊之中的一固定物理區塊來儲存一總管映圖(super map),其中該中控裝置使用該些快閃記憶體儲存裝置的該些物理區塊之中的一物理區塊來儲存一專用映圖(dedicated map),其中該中控裝置使用該些快閃記憶體儲存裝置的該些物理區塊之中的多個物理區塊來儲存該區塊映射表,其中該中控裝置使用該些快閃記憶體儲存裝置的該些物理區塊之中的一物理區塊來儲存一更新日誌(update log,UL),其中該更新日誌記錄多個標籤,其中該總管映圖包括一開機標籤與一專用映圖指標,並且該專用映圖指標記錄儲存該專用映圖之物理區塊的位址,其中該專用映圖包括一區塊映射表指標與一更新日誌指標,該區塊映射表指標記錄儲存該區塊映射表之物理區塊的位址,並且該更新日誌指標記錄儲存該更新日誌之物理區塊的位址。
[10] 如申請專利範圍第9項所述之記憶體儲存系統,其中當接收到一關機指令或儲存該專用映圖的物理區塊被更換時,該中控裝置在該總管映圖中以一個物理頁面為單位新增一筆記錄來記錄最新的該開機標籤與該專用映圖指標,其中當在該些快閃記憶體儲存裝置中用以儲存該區塊映射表或該更新日誌的物理區塊被更換時,該中控裝置在該專用映圖中以一個物理頁面為單位新增一筆記錄來記錄最新的該區塊映射表指標與該更新日誌指標。
[11] 如申請專利範圍第10項所述之記憶體儲存系統,其中該中控裝置設定每一該些物理區塊區的一溫度階級,並且該溫度階級為多種階級的其中之一。
[12] 如申請專利範圍第11項所述之記憶體儲存系統,其中該些階級包括一熱、一溫階級與一冷。
[13] 如申請專利範圍第11項所述之記憶體儲存系統,其中當對該些物理區塊之中的一第一物理區塊執行一資料寫入運作時,該中控裝置會在該更新日誌中記錄對應該第一物理區塊的一寫入標籤,其中該寫入標籤記錄該第一物理區塊的位址與該第一物理區塊的溫度階級,其中當對該第一物理區塊執行一抹除運作時,該中控裝置會在該更新日誌中記錄對應該第一物理區塊的一抹除標籤,其中該抹除標籤記錄該第一物理區塊的位址與該第一物理區塊的溫度階級,其中當執行一垃圾蒐集運作時,該中控裝置會在該更新日誌中記錄一垃圾蒐集標籤,其中該垃圾蒐集標籤記錄各個溫度階級中的一作動物理區塊的位址與已儲存資料的物理頁面數。
[14] 如申請專利範圍第13項所述之記憶體儲存系統,其中當儲存該更新日誌的物理區塊的一已使用空間達到一預設門檻值或者接收到該關機指令時,該中控裝置將暫存在該快速緩衝儲存區中最新的該區塊映射表寫入至該些快閃記憶體儲存裝置的該些物理區塊之中的多個空物理區塊中,並且重新使用該些快閃記憶體儲存裝置的該些物理區塊之中的一個空物理區塊來記錄該更新日誌。
[15] 如申請專利範圍第14項所述之記憶體儲存系統,其中當重新開機時,該中控裝置從該些快閃記憶體儲存裝置中讀取該總管映圖,依據所讀取的該總管映圖讀取該專用映圖,依據該專用映圖將儲存在該些快閃記憶體儲存裝置中的該區塊映射表載入至該快取緩衝儲存區,並且根據該開機標籤判斷是否發生不正常關機,其中當發生不正常關機時,該中控裝置會依據所讀取的該專用映圖讀取該更新日誌,以該更新日誌中的該垃圾蒐集標籤將該更新日誌的該些標籤依序地區分為多個更新區段,以一逆向方式從該更新日誌中讀取每一該些更新區段的標籤並且根據所讀取的該些標籤來更新暫存在該快取緩衝儲存區的該區塊映射表。
[16] 如申請專利範圍第15項所述之記憶體儲存系統,其中當在每一該些更新區段中從該更新日誌中讀取到該寫入標籤時,該中控裝置依據不同的溫度階級串接該對應物理區塊,其中當在每一更新區段中從該更新日誌中讀取到該垃圾蒐集標籤時,該中控裝置從所串接的對應物理區塊的物理頁面的備用區中讀取系統資料(metadata)並且根據所讀取的系統資料來更新暫存在該快取緩衝儲存區的該區塊映射表。
[17] 一種管理方法,用於具有多個快閃記憶體儲存裝置的一記憶體儲存系統,其中每一該些快閃記憶體儲存裝置具有一控制器與一快閃記憶體模組,每一該些快閃記憶體模組具有多個物理區塊,每一該些物理區塊具有多個物理頁面並且每一該些物理頁面具有一資料區與一備用區,該管理方法包括:維護一區塊映射表(block map table,BMT),其中該區塊映射表記錄多個邏輯區塊與該些物理區塊之間的一映射關係,並且該區塊映射表暫存在一快速緩衝儲存區中;以及依據該區塊映射表使用多個溝通指令來存取該些快閃記憶體儲存裝置的該些物理區塊,其中該些溝通指令是透過多個傳輸介面傳送給該些控制器且該些控制器會根據該些溝通指令來存取該些物理區塊。
[18] 如申請專利範圍第17項所述之管理方法,更包括:透過該些傳輸介面以一批次循環方式傳送該些溝通指令給該些快閃記憶體儲存裝置的該些控制器。
[19] 如申請專利範圍第17項所述之管理方法,其中該些溝通指令包括一抹除指令,且該抹除指令具有一抹除起始位址欄位與一抹除個數欄位,其中依據該區塊映射表使用該些溝通指令來存取該些快閃記憶體儲存裝置的該些物理區塊的步驟包括:透過該些傳輸介面之中的一第一傳輸介面傳送該抹除指令給該些快閃記憶體儲存裝置之中的一第一快閃記憶體儲存裝置,其中該第一快閃記憶體儲存裝置的該控制器根據該抹除指令抹除儲存在該第一快閃記憶體儲存裝置的該些物理區塊之中的至少一個物理區塊中的資料。
[20] 如申請專利範圍第17項所述之管理方法,其中該些溝通指令包括一有效頁複製指令,且該有效頁複製指令具有一來源位址欄位、一目標位址欄位、一長度欄位與一位圖欄位(bitmap),其中依據該區塊映射表使用該些溝通指令來存取該些快閃記憶體儲存裝置的該些物理區塊的步驟包括:透過該些傳輸介面之中的一第一傳輸介面傳送該有效頁複製指令給該些快閃記憶體儲存裝置之中的一第一快閃記憶體儲存裝置,其中該第一快閃記憶體儲存裝置的該控制器根據該有效頁複製指令從該第一快閃記憶體儲存裝置的該些物理區塊之中的其中一個物理區塊複製資料至該第一快閃記憶體儲存裝置的該些物理區塊之中的另一個物理區塊。
[21] 如申請專利範圍第17項所述之管理方法,其中該些溝通指令包括一壞區塊詢問指令,其中依據該區塊映射表使用該些溝通指令來存取該些快閃記憶體儲存裝置的該些物理區塊的步驟包括:透過該些傳輸介面之中的一第一傳輸介面傳送該壞區塊詢問指令給該些快閃記憶體儲存裝置之中的一第一快閃記憶體儲存裝置,其中該第一快閃記憶體儲存裝置的該控制器根據該壞區塊詢問指令將關於該第一快閃記憶體儲存裝置的該些物理區塊之中的一壞物理區塊的資訊傳送給該中控裝置。
[22] 如申請專利範圍第17項所述之管理方法,其中該些溝通指令包括一備用區寫入指令,其中其中依據該區塊映射表使用該些溝通指令來存取該些快閃記憶體儲存裝置的該些物理區塊的步驟包括:透過該些傳輸介面之中的一第一傳輸介面傳送該備用區寫入指令給該些快閃記憶體儲存裝置之中的一第一快閃記憶體儲存裝置,以寫入一寫入資料與關於該寫入資料的一系統資料(metadata)至該第一快閃記憶體儲存裝置的該些物理區塊的該些物理頁面之中的一第一物理頁面,其中該第一快閃記憶體儲存裝置的該控制器根據該備用區寫入指令將該寫入資料寫入至該第一物理頁面的該資料區且將該系統資料寫入至該第一物理頁面的該備用區。
[23] 如申請專利範圍第17項所述之管理方法,更包括:使用該些快閃記憶體儲存裝置的該些物理區塊之中的一固定物理區塊來儲存一總管映圖(super map);使用該些快閃記憶體儲存裝置的該些物理區塊之中的一物理區塊來儲存一專用映圖(dedicated map);使用該些快閃記憶體儲存裝置的該些物理區塊之中的多個物理區塊來儲存該區塊映射表;使用該些快閃記憶體儲存裝置的該些物理區塊之中的一物理區塊來儲存一更新日誌(update log,UL),其中該更新日誌記錄了多個標籤;其中該總管映圖包括一開機標籤與一專用映圖指標,並且該專用映圖指標記錄儲存該專用映圖之物理區塊的位址,其中該專用映圖包括一區塊映射表指標與一更新日誌指標,該區塊映射表指標記錄儲存該區塊映射表之物理區塊的位址,並且該更新日誌指標記錄儲存該更新日誌之物理區塊的位址。
[24] 如申請專利範圍第23項所述之管理方法,更包括:當接收到一關機指令或儲存該專用映圖的物理區塊被更換時,在該總管映圖中以一個物理頁面為單位新增一筆記錄來記錄最新的該開機標籤與該專用映圖指標;以及當在該些快閃記憶體儲存裝置中用以儲存該區塊映射表或該更新日誌的物理區塊被更換時,在該專用映圖中以一個物理頁面為單位新增一筆記錄來記錄最新的該區塊映射表指標與該更新日誌指標。
[25] 如申請專利範圍第24項所述之管理方法,更包括:設定每一該些物理區塊區的一溫度階級,其中該溫度階級為多個階級的其中之一。
[26] 如申請專利範圍第25項所述之管理方法,其中該些階級包括一熱階級、一溫階級與一冷階級。
[27] 如申請專利範圍第25項所述之管理方法,其中當對該些物理區塊之中的一第一物理區塊執行一資料寫入運作時,該中控裝置會在該更新日誌中記錄對應該第一物理區塊的一寫入標籤,其中該寫入標籤記錄該第一物理區塊的位址與該第一物理區塊的溫度階級,其中當對該第一物理區塊執行一抹除運作時,該中控裝置會在該更新日誌中記錄對應該第一物理區塊的一抹除標籤,其中該抹除標籤記錄該第一物理區塊的位址與該第一物理區塊的溫度階級,其中當執行一垃圾蒐集運作時,該中控裝置會在該更新日誌中記錄一垃圾蒐集標籤,其中該垃圾蒐集標籤記錄各個溫度階級中的一作動物理區塊的位址與已儲存資料的物理頁面數。
[28] 如申請專利範圍第27項所述之管理方法,更包括:當儲存該更新日誌的物理區塊的一已使用空間達到一預設門檻值或者接收到該關機指令時,將暫存在該快速緩衝儲存區中最新的該區塊映射表寫入至該些快閃記憶體儲存裝置的該些物理區塊之中的多個空物理區塊中,並且重新使用該些快閃記憶體儲存裝置的該些物理區塊之中的一個空物理區塊來記錄該更新日誌。
[29] 如申請專利範圍第28項所述之管理方法,更包括:當重新開機時,從該些快閃記憶體儲存裝置中讀取該總管映圖,依據所讀取的該總管映圖讀取該專用映圖,依據該專用映圖將儲存在該些快閃記憶體儲存裝置中的該區塊映射表載入至該快取緩衝儲存區,並且根據該開機標籤判斷是否發生不正常關機;以及當發生不正常關機時,依據所讀取的該專用映圖讀取該更新日誌,以該更新日誌中的該垃圾蒐集標籤將該更新日誌的該些標籤依序地區分為多個更新區段,以一逆向方式從該更新日誌中讀取每一該些更新區段的標籤並且根據所讀取的該些標籤來更新暫存在該快取緩衝儲存區的該區塊映射表。
[30] 如申請專利範圍第29項所述之管理方法,其中以該逆向方式從該更新日誌中讀取每一該些更新區段的標籤並且根據所讀取的該些標籤來更新暫存在該快取緩衝儲存區的該區塊映射表的步驟包括:當在每一該些更新區段中從該更新日誌中讀取到該寫入標籤時,依據不同的溫度階級串接一對應物理區塊;以及其中當在每一更新區段中從該更新日誌中讀取到該垃圾蒐集標籤時,從所串接的對應物理區塊的物理頁面的備用區中讀取系統資料(metadata)並且根據所讀取的系統資料來更新暫存在該快取緩衝儲存區的該區塊映射表。
[31] 一種斷電復原方法,用於一快閃記憶體儲存裝置模組,其中該快閃記憶體模組具有多個物理區塊,每一該些物理區塊具有多個物理頁面並且每一該些物理頁面具有一資料區與一備用區,該斷電復原方法包括:從該些物理區塊中讀取一總管映圖(super map);依據所讀取的該總管映圖讀取一專用映圖(dedicated map);依據該專用映圖將儲存在該些物理區塊中的一區塊映射表(block map table,BMT)載入至一快取緩衝儲存區;判斷是否發生不正常關機;以及當發生不正常關機時,依據所讀取的該專用映圖讀取一更新日誌(update log,UL),以該更新日誌中的一垃圾蒐集標籤將該更新日誌的多個標籤依序地區分為多個更新區段,以一逆向方式從該更新日誌中讀取每一該些更新區段的標籤並且根據所讀取的該些標籤來更新暫存在該快取緩衝儲存區的該區塊映射表,其中該區塊映射表記錄多個邏輯區塊與該些物理區塊之間的一映射關係。
[32] 如申請專利範圍第31項所述之斷電復原方法,更包括:使用該些物理區塊之中的一固定物理區塊來儲存該總管映圖,使用該些物理區塊之中的一物理區塊來儲存該專用映圖,使用該些物理區塊之中的多個物理區塊來儲存該區塊映射表,使用該些物理區塊之中的一物理區塊來儲存該更新日誌,其中該總管映圖包括一開機標籤與一專用映圖指標,並且該專用映圖指標記錄儲存該專用映圖之物理區塊的位址,其中該專用映圖包括一區塊映射表指標與一更新日誌指標,該區塊映射表指標記錄儲存該區塊映射表之物理區塊的位址,並且該更新日誌指標記錄儲存該更新日誌之物理區塊的位址。
[33] 如申請專利範圍第32項所述之斷電復原方法,更包括:當接收到一關機指令或儲存該專用映圖的物理區塊被更換時,在該總管映圖中以一個物理頁面為單位新增一筆記錄來記錄最新的該開機標籤與該專用映圖指標;以及當用以儲存該區塊映射表或該更新日誌的物理區塊被更換時,在該專用映圖中以一個物理頁面為單位新增一筆記錄來記錄最新的該區塊映射表指標與該更新日誌指標。
[34] 如申請專利範圍第33項所述之斷電復原方法,更包括:當對該些物理區塊之中的一第一物理區塊執行一資料寫入運作時,在該更新日誌中記錄對應該第一物理區塊的一寫入標籤,其中該寫入標籤記錄該第一物理區塊的位址與該第一物理區塊的溫度階級;以及當對該第一物理區塊執行一抹除運作時,在該更新日誌中記錄對應該第一物理區塊的一抹除標籤,其中該抹除標籤記錄該第一物理區塊的位址與該第一物理區塊的溫度階級;以及當執行一垃圾蒐集運作時,在該更新日誌中記錄該垃圾蒐集標籤,其中該垃圾蒐集標籤記錄各個溫度階級中的一作動物理區塊的位址與已儲存資料的物理頁面數。
[35] 如申請專利範圍第34項所述之斷電復原方法,更包括:當儲存該更新日誌的物理區塊的一已使用空間達到一預設門檻值或者接收到該關機指令時,將暫存在該快速緩衝儲存區中最新的該區塊映射表寫入至該些快閃記憶體儲存裝置的該些物理區塊之中的多個空物理區塊中,並且重新使用該些物理區塊之中的一個空物理區塊來記錄該更新日誌。
[36] 如申請專利範圍第35項所述之斷電復原方法,更包括:設定每一該些物理區塊區的一溫度階級,其中該溫度階級為多個階級的其中之一。
[37] 如申請專利範圍第36項所述之斷電復原方法,其中該些階級包括一熱階級、一溫階級與一冷階級。
[38] 如申請專利範圍第36項所述之斷電復原方法,其中以該逆向方式從該更新日誌中讀取每一該些更新區段的標籤並且根據所讀取的該些標籤來更新暫存在該快取緩衝儲存區的該區塊映射表的步驟包括:其中當在每一該些更新區段中從該更新日誌中讀取到該寫入標籤時,依據不同的溫度階級串接一對應物理區塊,其中當在每一更新區段中從該更新日誌中讀取到該垃圾蒐集標籤時,從所串接的對應物理區塊的物理頁面的備用區中讀取系統資料(metadata)並且根據所讀取的系統資料來更新暫存在該快取緩衝儲存區的該區塊映射表。
[39] 一種中控裝置,用於管理至少一快閃記憶體模組的多個物理區塊,每一該些物理區塊具有多個物理頁面並且每一該些物理頁面具有一資料區與一備用區,一中央處理器;一快速緩衝儲存區,耦接至該中央處理器;一資料處理單元,耦接至該中央處理器,用以存取該些物理區塊;以及一映射表維護單元,耦接至該中央處理器;以及其中當重新開機時,該映射表維護單元會從該些物理區塊中讀取一總管映圖(super map),依據所讀取的該總管映圖讀取一專用映圖(dedicated map),依據該專用映圖將儲存在該些物理區塊中的一區塊映射表(block map table,BMT)載入至該快取緩衝儲存區並且判斷是否發生不正常關機,其中當發生不正常關機時,該映射表維護單元會依據所讀取的該專用映圖讀取一更新日誌(update log,UL),以該更新日誌中的一垃圾蒐集標籤將該更新日誌的多個標籤依序地區分為多個更新區段,以一逆向方式從該更新日誌中讀取每一該些更新區段的標籤並且根據所讀取的該些標籤來更新暫存在該快取緩衝儲存區的該區塊映射表,其中該區塊映射表記錄多個邏輯區塊與該些物理區塊之間的一映射關係。
[40] 如申請專利範圍第39項所述之中控裝置,其中該映射表維護單元使用該些物理區塊之中的一固定物理區塊來儲存該總管映圖,其中該映射表維護單元使用該些物理區塊之中的一物理區塊來儲存該專用映圖,其中該映射表維護單元使用該些物理區塊之中的多個物理區塊來儲存該區塊映射表,其中該映射表維護單元使用該些物理區塊之中的一物理區塊來儲存該更新日誌,其中該總管映圖包括一開機標籤與一專用映圖指標,並且該專用映圖指標記錄儲存該專用映圖之物理區塊的位址,其中該專用映圖包括一區塊映射表指標與一更新日誌指標,該區塊映射表指標記錄儲存該區塊映射表之物理區塊的位址,並且該更新日誌指標記錄儲存該更新日誌之物理區塊的位址。
[41] 如申請專利範圍第40項所述之中控裝置,其中當接收到一關機指令或儲存該專用映圖的物理區塊被更換時,該映射表維護單元在該總管映圖中以一個物理頁面為單位新增一筆記錄來記錄最新的該開機標籤與該專用映圖指標,其中當用以儲存該區塊映射表或該更新日誌的物理區塊被更換時,該映射表維護單元在該專用映圖中以一個物理頁面為單位新增一筆記錄來記錄最新的該區塊映射表指標與該更新日誌指標。
[42] 如申請專利範圍第41項所述之中控裝置,其中當對該些物理區塊之中的一第一物理區塊執行一資料寫入運作時,該映射表維護單元會在該更新日誌中記錄對應該第一物理區塊的一寫入標籤,其中該寫入標籤記錄該第一物理區塊的位址與該第一物理區塊的溫度階級,其中當對該第一物理區塊執行一抹除運作時,該映射表維護單元會在該更新日誌中記錄對應該第一物理區塊的一抹除標籤,其中該抹除標籤記錄該第一物理區塊的位址與該第一物理區塊的溫度階級,其中當執行一垃圾蒐集運作時,該映射表維護單元會在該更新日誌中記錄該垃圾蒐集標籤,其中該垃圾蒐集標籤記錄各個溫度階級中的一作動物理區塊的位址與已儲存資料的物理頁面數。
[43] 如申請專利範圍第42項所述之中控裝置,其中當儲存該更新日誌的物理區塊的一已使用空間達到一預設門檻值或者接收到該關機指令時,該映射表維護單元將暫存在該快速緩衝儲存區中最新的該區塊映射表寫入至該些快閃記憶體儲存裝置的該些物理區塊之中的多個空物理區塊中,並且重新使用該些物理區塊之中的一個空物理區塊來記錄該更新日誌。
[44] 如申請專利範圍第43項所述之中控裝置,其中該映射表維護單元設定每一該些物理區塊區的一溫度階級,其中該溫度階級為多個階級的其中之一。
[45] 如申請專利範圍第44項所述之中控裝置,該些階級包括一熱階級、一溫階級與一冷階級。
[46] 如申請專利範圍第44項所述之中控裝置,其中當在每一該些更新區段中從該更新日誌中讀取到該寫入標籤時,該映射表維護單元會依據不同的溫度階級串接一對應物理區塊,其中當在每一更新區段中從該更新日誌中讀取到該垃圾蒐集標籤時,該映射表維護單元從所串接的對應物理區塊的物理頁面的備用區中讀取系統資料(metadata)並且根據所讀取的系統資料來更新暫存在該快取緩衝儲存區的該區塊映射表。
类似技术:
公开号 | 公开日 | 专利标题
TWI596480B|2017-08-21|記憶體儲存系統及其中控裝置、管理方法與斷電復原方法
TWI465906B|2014-12-21|用以執行無原子元資料之電力故障安全快取的技術
US20150331624A1|2015-11-19|Host-controlled flash translation layer snapshot
US9164833B2|2015-10-20|Data storage device, operating method thereof and data processing system including the same
US9009396B2|2015-04-14|Physically addressed solid state disk employing magnetic random access memory |
TWI502594B|2015-10-01|用於快閃儲存裝置之半區塊管理
TWI494849B|2015-08-01|韌體碼載入方法、記憶體控制器與記憶體儲存裝置
US10866906B2|2020-12-15|Address mapping method and operation method of storage device
KR20170087043A|2017-07-27|저속 메모리를 이용하여 페이지 리맵핑 방식으로 바이트 어드레스 지정 능력 및 근-dram 성능을 달성하는 메커니즘
JP2013222435A|2013-10-28|半導体記憶装置及びその制御方法
JP2014021752A|2014-02-03|半導体記憶装置
TWI498899B|2015-09-01|資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US20130013885A1|2013-01-10|Memory storage device, memory controller, and method for identifying valid data
US11157402B2|2021-10-26|Apparatus and method for managing valid data in memory system
US20190369892A1|2019-12-05|Method and Apparatus for Facilitating a Trim Process Using Auxiliary Tables
US20190324859A1|2019-10-24|Method and Apparatus for Restoring Data after Power Failure for An Open-Channel Solid State Drive
US10817418B2|2020-10-27|Apparatus and method for checking valid data in memory system
US10942848B2|2021-03-09|Apparatus and method for checking valid data in memory system
US10754785B2|2020-08-25|Checkpointing for DRAM-less SSD
TWI436209B|2014-05-01|記憶體管理表處理方法、記憶體控制器與記憶體儲存裝置
JP2013196155A|2013-09-30|メモリシステム
JP2012037971A|2012-02-23|メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法
CN112764671A|2021-05-07|存储设备的元数据聚合处理方法及存储设备
CN111858623A|2020-10-30|使用异构命名空间优化数据库性能
CN111857818A|2020-10-30|存储器系统和通过该存储器系统执行命令操作的方法
同族专利:
公开号 | 公开日
CN103136116B|2016-03-23|
CN103136116A|2013-06-05|
US20130145076A1|2013-06-06|
US9164887B2|2015-10-20|
TWI596480B|2017-08-21|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
US9747173B2|2015-11-13|2017-08-29|Silicon Motion, Inc.|Data storage devices and data maintenance methods|
TWI621014B|2015-07-06|2018-04-11|上海寶存信息科技有限公司|資料儲存裝置、存取系統、以及存取方法|
US10191841B2|2015-07-06|2019-01-29|Shannon Systems Ltd.|Host device, access system, and access method|
TWI658462B|2018-01-19|2019-05-01|慧榮科技股份有限公司|管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置|
TWI697780B|2019-07-23|2020-07-01|慧榮科技股份有限公司|瞬間斷電回復處理方法及電腦程式產品以及裝置|
TWI704456B|2018-11-22|2020-09-11|慧榮科技股份有限公司|資料儲存裝置與資料存取方法|
US10871924B1|2019-07-23|2020-12-22|Silicon Motion, Inc.|Method and computer program product and apparatus for handling sudden power off recovery|US6021408A|1996-09-12|2000-02-01|Veritas Software Corp.|Methods for operating a log device|
CN1447243A|2002-03-25|2003-10-08|太和科技股份有限公司|快闪存储器中快速且能防止不正常断电的演算法及其控制系统|
CA2583912A1|2004-11-05|2006-05-18|Commvault Systems, Inc.|System and method to support single instance storage operations|
KR100874702B1|2006-10-02|2008-12-18|삼성전자주식회사|플래시 메모리 파일 시스템을 효율적으로 관리하기 위한장치 드라이버 및 방법|
KR100843543B1|2006-10-25|2008-07-04|삼성전자주식회사|플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법|
KR100885181B1|2007-02-06|2009-02-23|삼성전자주식회사|그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법|
KR20090026941A|2007-09-11|2009-03-16|삼성전자주식회사|복수개의 비휘발성 데이터 저장매체를 구비한 저장장치의가상 파일 시스템에서 어드레스 맵핑을 수행하는 방법 및그 장치|
US8751755B2|2007-12-27|2014-06-10|Sandisk Enterprise Ip Llc|Mass storage controller volatile memory containing metadata related to flash memory storage|
US7941692B2|2007-12-31|2011-05-10|Intel Corporation|NAND power fail recovery|
US7979626B2|2008-05-13|2011-07-12|Microsoft Corporation|Flash recovery employing transaction log|
US7962801B2|2008-10-15|2011-06-14|Silicon Motion, Inc.|Link table recovery method|
CN101825944A|2009-03-06|2010-09-08|英华达(上海)科技有限公司|电子装置的虚拟键盘结构及其资料输入方法|
US8572309B2|2009-03-12|2013-10-29|Marvell World Trade Ltd.|Apparatus and method to protect metadata against unexpected power down|
US20100306451A1|2009-06-01|2010-12-02|Joshua Johnson|Architecture for nand flash constraint enforcement|
WO2011090500A1|2010-01-19|2011-07-28|Rether Networks Inc.|Random write optimization techniques for flash disks|
WO2011153478A2|2010-06-04|2011-12-08|Flashsoft Corporation|Cache management and acceleration of storage media|
WO2013027642A1|2011-08-19|2013-02-28|Kabushiki Kaisha Toshiba|Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device|US20130124778A1|2011-11-10|2013-05-16|Greenliant Llc|Method of storing host data and meta data in a nand memory, a memory controller and a memory system|
US11003464B2|2012-04-19|2021-05-11|Microsoft Technology Licensing, Llc|Control flow integrity enforcement at scale|
US9268652B1|2012-10-31|2016-02-23|Amazon Technologies, Inc.|Cached volumes at storage gateways|
KR102015053B1|2013-02-20|2019-08-27|삼성전자주식회사|불휘발성 메모리 장치 및 그것의 데이터 처리 방법|
CN104425012B|2013-08-30|2019-04-05|北京兆易创新科技股份有限公司|一种nand闪存单元|
JP6223145B2|2013-11-21|2017-11-01|キヤノン株式会社|情報処理装置及びその制御方法、並びにプログラム|
US9329994B2|2014-02-20|2016-05-03|Kabushiki Kaisha Toshiba|Memory system|
KR20160032910A|2014-09-17|2016-03-25|에스케이하이닉스 주식회사|메모리 시스템 및 메모리 시스템의 동작 방법|
US9715505B1|2014-09-30|2017-07-25|EMC IP Holding Company LLC|Method and system for maintaining persistent live segment records for garbage collection|
TWI562158B|2014-10-13|2016-12-11|Silicon Motion Inc|Non-volatile memory device and controller|
TWI539282B|2014-10-13|2016-06-21|慧榮科技股份有限公司|非揮發性儲存裝置與控制器|
CN104461393B|2014-12-09|2017-05-17|华中科技大学|一种闪存存储器的混合映射方法|
CN104699623B|2015-02-12|2018-09-11|北京天诚盛业科技有限公司|加快Flash写操作的方法及装置|
CN106095699B|2015-03-20|2020-12-01|爱思开海力士有限公司|用于快闪存储器的可扩展spor算法|
US10067714B2|2015-06-22|2018-09-04|Samsung Electronics Co., Ltd.|Data storage device and data processing system having the same|
TWI563510B|2015-07-24|2016-12-21|Phison Electronics Corp|Mapping table accessing method, memory control circuit unit and memory storage device|
CN105183392B|2015-09-18|2018-09-07|日立楼宇技术(广州)有限公司|一种定长数据在flash的存储方法|
CN105279103A|2015-09-29|2016-01-27|浪潮集团有限公司|一种数据管理方法及装置|
CN105630422B|2015-12-28|2018-07-24|飞天诚信科技股份有限公司|一种基于小容量处理器实现多应用的方法及设备|
CN105677578B|2016-01-08|2018-08-24|深圳大学|一种3d闪存的控制方法及控制系统|
CN105739919B|2016-01-21|2018-10-12|捷鼎创新股份有限公司|资料存取系统及方法|
JP6448570B2|2016-03-08|2019-01-09|東芝メモリ株式会社|ストレージシステム、情報処理システムおよび制御方法|
CN107544913B|2016-06-29|2021-09-28|北京忆恒创源科技股份有限公司|一种ftl表快速重建方法与装置|
CN107544866B|2016-06-29|2021-01-05|北京忆恒创源科技有限公司|一种日志更新方法与装置|
CN107544912B|2016-06-29|2021-09-03|北京忆恒创源科技股份有限公司|一种日志记录方法、加载方法及其装置|
CN107870730B|2016-09-23|2020-11-20|伊姆西Ip控股有限责任公司|用于管理存储系统的方法和系统|
CN106502928B|2016-09-29|2019-08-20|华为技术有限公司|一种存储系统掉电保护方法、存储控制器及电子设备|
TWI621129B|2016-10-25|2018-04-11|慧榮科技股份有限公司|資料儲存裝置及其資料寫入方法|
KR20180058894A|2016-11-24|2018-06-04|에스케이하이닉스 주식회사|데이터 저장 장치 및 그것의 동작 방법|
TWI591533B|2016-11-25|2017-07-11|慧榮科技股份有限公司|可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置|
CN108614665B|2016-12-09|2021-04-02|北京兆易创新科技股份有限公司|基于NAND flash的映射表数据更新方法和装置|
TWI656475B|2016-12-13|2019-04-11|慧榮科技股份有限公司|具資料儲存裝置的電子系統|
CN108228088B|2016-12-21|2020-10-23|伊姆西Ip控股有限责任公司|用于管理存储系统的方法和设备|
CN108536619B|2017-03-03|2021-12-14|北京忆恒创源科技股份有限公司|快速恢复ftl表的方法与装置|
US10613772B2|2017-03-16|2020-04-07|Qualcomm Incorporated|Methods and apparatuses for copying a data page in an unmanaged flash memory device|
CN108563586B|2018-04-12|2021-11-02|华中科技大学|一种分离固态盘中垃圾回收数据与用户数据的方法|
US10936199B2|2018-07-17|2021-03-02|Silicon Motion, Inc.|Flash controllers, methods, and corresponding storage devices capable of rapidly/fast generating or updating contents of valid page count table|
KR20200011832A|2018-07-25|2020-02-04|에스케이하이닉스 주식회사|메모리 시스템에서의 데이터 처리 방법 및 장치|
US10877880B2|2018-10-11|2020-12-29|Micron Technology, Inc.|Unretiring memory device blocks|
CN113868192A|2021-12-03|2021-12-31|深圳市杉岩数据技术有限公司|一种数据存储设备、方法与分布式数据存储系统|
法律状态:
优先权:
申请号 | 申请日 | 专利标题
US13/310,806|US9164887B2|2011-12-05|2011-12-05|Power-failure recovery device and method for flash memory|
[返回顶部]